package a.a;

import a.c.ab;
import a.c.d;
import a.c.e;
import a.c.k;
import a.c.n;
import a.c.q;
import a.c.w;
import a.c.*;
import a.c.y;
import a.i.db;
import a.i.u;

import java.util.ArrayList;
import java.util.HashSet;

final class t
{
  static ab[] a(q paramq, e parame1, e parame2, boolean paramBoolean, u paramu)
  {
    int i = m.b;
    boolean bool = m.a;
    ArrayList localArrayList = new ArrayList();
    a_ locala_ = new a_(paramq, parame1, parame2, paramBoolean, paramu);
    do
    {
      while (!bool)
      {
        if (!locala_.e()) {
          break;
        }
        if (i != 0) {
          break label91;
        }
        if (bool) {
          break label86;
        }
        localArrayList.add(locala_.j());
        locala_.f();
      }
    } while (i != 0);
    label86:
    label91:
    return (ab[])localArrayList.toArray(new ab[localArrayList.size()]);
  }
  
  static y a(q paramq, e parame1, e parame2, boolean paramBoolean)
  {
    return new a_(paramq, parame1, parame2, paramBoolean, null);
  }
  
  static k b(q paramq, e parame1, e parame2, boolean paramBoolean)
  {
    int i = m.b;
    n localn = db.b(new boolean[paramq.l()]);
    if (i == 0)
    {
      if (paramBoolean)
      {
        if (i != 0) {
          break label49;
        }
        a(paramq, parame1, parame2, localn);
      }
    }
    else {
      if (!m.a) {
        break label52;
      }
    }
    label49:
    c(paramq, parame1, parame2, localn);
    label52:
    return localn;
  }
  
  private static void a(q paramq, e parame1, e parame2, n paramn)
  {
    int m = m.b;
    boolean bool = m.a;
    d locald1 = paramq.a(parame2, parame1);
    x localx = db.a(new int[paramq.j()]);
    m.b(paramq, localx);
    paramq.a(locald1);
    int i = localx.getInt(parame1);
    int j = localx.getInt(parame2);
    int k = 0;
    a.c.m localm = paramq.w();
    label155:
    label163:
    do
    {
      if (!localm.e()) {
        break;
      }
      d locald2 = localm.a();
      if ((m != 0) || (j == i)) {
        if (m == 0)
        {
          if (localx.getInt(locald2.e()) == i) {
            if (m != 0) {
              break label163;
            }
          }
        }
        else {
          if (localx.getInt(locald2.f()) == i) {
            break label155;
          }
        }
      }
      paramn.a(locald2, true);
      if (m == 0)
      {
        if (paramn.getBool(locald2)) {
          k++;
        }
        localm.f();
      }
    } while (!bool);
  }
  
  private static void c(q paramq, e parame1, e parame2, n paramn)
  {
    int j = m.b;
    boolean bool = m.a;
    n localn = db.b(new int[paramq.l()]);
    m.a(paramq, localn);
    ab localab = null;
    if (parame2 == parame1) {
      localab = new ab(parame1.l());
    } else {
      localab = bb.a(paramq, parame1, parame2, false);
    }
    HashSet localHashSet = new HashSet();
    a.c.m localm = localab.l();
    do
    {
      if (!localm.e()) {
        break;
      }
      localObject = localm.a();
      if (j == 0)
      {
        if (bool) {
          break label143;
        }
        localHashSet.add(new Integer(localn.getInt(localObject)));
        localm.f();
      }
    } while (!bool);
    label143:
    int i = 0;
    Object localObject = paramq.w();
    do
    {
      if (!((a.c.m)localObject).e()) {
        break;
      }
      d locald = ((a.c.m)localObject).a();
      if (j == 0) {
        if (!localHashSet.contains(new Integer(localn.getInt(locald)))) {
          paramn.a(locald, true);
        }
      }
      if (j == 0)
      {
        if (paramn.getBool(locald)) {
          i++;
        }
        ((a.c.m)localObject).f();
      }
    } while (!bool);
  }
  
  static class a_
    implements y
  {
    final q a;
    final e b;
    final e c;
    final boolean d;
    ab e;
    private ab f;
    private a.c.bb g;
    private x h;
    private x i;
    private u j;
    private k k;
    
    a_(q paramq, e parame1, e parame2, boolean paramBoolean, u paramu)
    {
      if ((paramq == null) || ((m.b != 0) || ((parame1 == null) || (parame2 == null)))) {
        throw new IllegalArgumentException("Arguments need to be non-null");
      }
      this.k = t.b(paramq, parame1, parame2, paramBoolean);
      this.a = paramq;
      this.b = parame1;
      this.c = parame2;
      this.d = paramBoolean;
      this.j = paramu;
      h();
    }
    
    public void h()
    {
      int m = m.b;
      boolean bool = m.a;
      this.h = db.a(new boolean[this.a.j()]);
      this.i = db.a(new a.c.m[this.a.j()]);
      w localw = this.a.v();
      do
      {
        if (!localw.e()) {
          break;
        }
        e locale = localw.d();
        if (m != 0) {
          break label167;
        }
        if (bool) {
          break label138;
        }
        this.i.a(locale, this.d ? locale.n() : locale.l());
        localw.f();
      } while (!bool);
      this.g = new a.c.bb();
      if (m == 0)
      {
        label138:
        this.h.a(this.b, true);
        this.g.c(this.b);
        this.f = new ab();
      }
      label167:
      this.e = a();
    }
    
    public void f()
    {
      this.e = a();
    }
    
    private ab a()
    {
      int m = m.b;
      boolean bool = m.a;
      label104:
      label248:
      label376:
      do
      {
        if (this.g.isEmpty()) {
          break;
        }
        Object localObject = this.g.o();
        a.c.m localm = (a.c.m)this.i.get(localObject);
        do
        {
          do
          {
            do
            {
              d locald;
              e locale;
              do
              {
                do
                {
                  do
                  {
                    do
                    {
                      if (!localm.e()) {
                        break label376;
                      }
                      locald = localm.a();
                      if (bool) {
                        break;
                      }
                      if (this.k == null) {
                        break label104;
                      }
                      if (m == 0)
                      {
                        if (!this.k.getBool(locald)) {
                          break label104;
                        }
                        localm.f();
                      }
                    } while (m != 0);
                  } while (!bool);
                  locale = locald.a((e)localObject);
                  if (m == 0)
                  {
                    if (locale != this.c) {
                      break label282;
                    }
                    if (m != 0) {}
                  }
                  else
                  {
                    if (this.b == this.c) {
                      if ((m == 0) && ((!this.f.isEmpty()) && (locald == this.f.n()))) {
                        break label266;
                      }
                    }
                    this.f.add(locald);
                    localm.f();
                  }
                  if (m == 0) {
                    if (this.j != null)
                    {
                      if (m != 0) {
                        break label258;
                      }
                      if (!this.j.a(this.f)) {
                        break label248;
                      }
                    }
                  }
                  this.g.c(localObject);
                  ab localab = new ab(this.f);
                  this.f.e();
                  return localab;
                  this.f.e();
                  if (m != 0) {
                    break label274;
                  }
                } while (!bool);
                localm.f();
              } while ((m == 0) && (!bool));
              if (m != 0) {
                break label373;
              }
              if (this.h.getBool(locale)) {
                break label365;
              }
              this.h.a(locale, true);
              this.g.c(localObject);
              this.f.add(locald);
              localm.f();
              localm = (a.c.m)this.i.get(locale);
              localObject = locale;
              if (m != 0) {
                break label373;
              }
            } while (!bool);
            localm.f();
          } while (!bool);
        } while (m != 0);
        if (m == 0)
        {
          if (!this.f.isEmpty()) {
            this.f.h(this.f.g());
          }
          this.h.a(localObject, false);
          localm.h();
        }
      } while (!bool);
      label258:
      label266:
      label274:
      label282:
      label365:
      label373:
      return null;
    }
    
    public Object j()
    {
      return this.e;
    }
    
    public boolean e()
    {
      return this.e != null;
    }
    
    public int k()
    {
      int n = m.b;
      boolean bool = m.a;
      int m = 0;
      a_ locala_ = new a_(this.a, this.b, this.c, this.d, null);
      do
      {
        do
        {
          if (!locala_.e()) {
            break;
          }
          m++;
          locala_.f();
        } while (!bool);
      } while (n != 0);
      return m;
    }
    
    public void i()
    {
      throw new UnsupportedOperationException();
    }
    
    public void g()
    {
      throw new UnsupportedOperationException();
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.a.t

 * JD-Core Version:    0.7.0.1

 */